package mastercard.assets.jpa;

import java.io.Serializable;
import javax.persistence.*;
import java.sql.Timestamp;
import java.util.Date;
import java.util.List;


/**
 * The persistent class for the tbl_asset database table.
 * 
 */
@Entity
@Table(name="tbl_asset")
public class TblAsset implements Serializable {
	private static final long serialVersionUID = 1L;
	private int cveAsset;
	private float costoDobLoc;
	private float costoDobReg;
	private float costoSenLoc;
	private float costoSenReg;
	private String descripcion;
	private Date fecAprobBc;
	private Date fecConfSede;
	private Date fecEntregaBc;
	private Date fecEva;
	private Date fecFinCamp;
	private Date fecLimAgenda;
	private Date fecLimBoletos;
	private Date fecLimGanadores;
	private Date fecLimPrimFact;
	private Date fecLimReqCompra;
	private Date fecLimSegFact;
	private Date fecLimSubeCont;
	private Date fecLimiteSolCot;
	private Date fecRegreso;
	private Date fecSalida;
	private Date fecha;
	private Timestamp fechaAlta;
	private int fechasConfirmadas;
	private String nombre;
	private int numDiasViaje;
	private byte status;
	private byte tipoHabitacion;
	private byte tipoMoneda;
        private TblPaises tblPais;
        private TblAgencia tblAgencia;
        private TblFlujoAutorizacion tblFlujoAutorizacion;
	private TblAnio tblAnio;
	private TblSubcateg tblSubcateg;
	private TblFlujo tblFlujo1;
	private TblFlujo tblFlujo2;
	private List<TblPaquete> tblPaquetes;
        private List<TblPaqueteRegional> tblPaqueteRegional ;
	private List<TblPreimplementacion> tblPreimplementacions;
	private List<TblTareaPreimplementacion> tblTareaPreimplementacions;
        private List<TblMaterialAsset> tblMaterialAsset;

    public TblAsset() {
    }


	@Id
	@GeneratedValue(strategy=GenerationType.IDENTITY)
	@Column(name="cve_asset", unique=true, nullable=false)
	public int getCveAsset() {
		return this.cveAsset;
	}

	public void setCveAsset(int cveAsset) {
		this.cveAsset = cveAsset;
	}
        
                //bi-directional many-to-one association to TblTipoCuenta
    @ManyToOne
	@JoinColumn(name="cve_pais", nullable=false)
	public TblPaises getTblPais() {
		return this.tblPais;
	}

	public void setTblPais(TblPaises tblPais) {
		this.tblPais = tblPais;
	}
        
                //bi-directional many-to-one association to TblAgencia
    @ManyToOne
	@JoinColumn(name="cve_agencia", nullable=false)
	public TblAgencia getTblAgencia() {
		return this.tblAgencia;
	}

	public void setTblAgencia(TblAgencia tblAgencia) {
		this.tblAgencia = tblAgencia;
	}
        
        //bi-directional many-to-one association to TblFlujoAutorizacion
    @ManyToOne
	@JoinColumn(name="cve_flujo_autorizaciones", nullable=false)
	public TblFlujoAutorizacion getTblFlujoAutorizacion() {
		return this.tblFlujoAutorizacion;
	}

	public void setTblFlujoAutorizacion(TblFlujoAutorizacion tblFlujoAutorizacion) {
		this.tblFlujoAutorizacion = tblFlujoAutorizacion;
	}

	@Column(name="costo_dob_loc")
	public float getCostoDobLoc() {
		return this.costoDobLoc;
	}

	public void setCostoDobLoc(float costoDobLoc) {
		this.costoDobLoc = costoDobLoc;
	}


	@Column(name="costo_dob_reg")
	public float getCostoDobReg() {
		return this.costoDobReg;
	}

	public void setCostoDobReg(float costoDobReg) {
		this.costoDobReg = costoDobReg;
	}


	@Column(name="costo_sen_loc")
	public float getCostoSenLoc() {
		return this.costoSenLoc;
	}

	public void setCostoSenLoc(float costoSenLoc) {
		this.costoSenLoc = costoSenLoc;
	}


	@Column(name="costo_sen_reg")
	public float getCostoSenReg() {
		return this.costoSenReg;
	}

	public void setCostoSenReg(float costoSenReg) {
		this.costoSenReg = costoSenReg;
	}


	@Column(nullable=false, length=2048)
	public String getDescripcion() {
		return this.descripcion;
	}

	public void setDescripcion(String descripcion) {
		this.descripcion = descripcion;
	}


    @Temporal( TemporalType.DATE)
	@Column(name="fec_aprob_bc")
	public Date getFecAprobBc() {
		return this.fecAprobBc;
	}

	public void setFecAprobBc(Date fecAprobBc) {
		this.fecAprobBc = fecAprobBc;
	}


    @Temporal( TemporalType.DATE)
	@Column(name="fec_conf_sede")
	public Date getFecConfSede() {
		return this.fecConfSede;
	}

	public void setFecConfSede(Date fecConfSede) {
		this.fecConfSede = fecConfSede;
	}


    @Temporal( TemporalType.DATE)
	@Column(name="fec_entrega_bc")
	public Date getFecEntregaBc() {
		return this.fecEntregaBc;
	}

	public void setFecEntregaBc(Date fecEntregaBc) {
		this.fecEntregaBc = fecEntregaBc;
	}


    @Temporal( TemporalType.DATE)
	@Column(name="fec_eva")
	public Date getFecEva() {
		return this.fecEva;
	}

	public void setFecEva(Date fecEva) {
		this.fecEva = fecEva;
	}


    @Temporal( TemporalType.DATE)
	@Column(name="fec_fin_camp")
	public Date getFecFinCamp() {
		return this.fecFinCamp;
	}

	public void setFecFinCamp(Date fecFinCamp) {
		this.fecFinCamp = fecFinCamp;
	}


    @Temporal( TemporalType.DATE)
	@Column(name="fec_lim_agenda")
	public Date getFecLimAgenda() {
		return this.fecLimAgenda;
	}

	public void setFecLimAgenda(Date fecLimAgenda) {
		this.fecLimAgenda = fecLimAgenda;
	}


    @Temporal( TemporalType.DATE)
	@Column(name="fec_lim_boletos")
	public Date getFecLimBoletos() {
		return this.fecLimBoletos;
	}

	public void setFecLimBoletos(Date fecLimBoletos) {
		this.fecLimBoletos = fecLimBoletos;
	}


    @Temporal( TemporalType.DATE)
	@Column(name="fec_lim_ganadores")
	public Date getFecLimGanadores() {
		return this.fecLimGanadores;
	}

	public void setFecLimGanadores(Date fecLimGanadores) {
		this.fecLimGanadores = fecLimGanadores;
	}


    @Temporal( TemporalType.DATE)
	@Column(name="fec_lim_prim_fact")
	public Date getFecLimPrimFact() {
		return this.fecLimPrimFact;
	}

	public void setFecLimPrimFact(Date fecLimPrimFact) {
		this.fecLimPrimFact = fecLimPrimFact;
	}


    @Temporal( TemporalType.DATE)
	@Column(name="fec_lim_req_compra")
	public Date getFecLimReqCompra() {
		return this.fecLimReqCompra;
	}

	public void setFecLimReqCompra(Date fecLimReqCompra) {
		this.fecLimReqCompra = fecLimReqCompra;
	}


    @Temporal( TemporalType.DATE)
	@Column(name="fec_lim_seg_fact")
	public Date getFecLimSegFact() {
		return this.fecLimSegFact;
	}

	public void setFecLimSegFact(Date fecLimSegFact) {
		this.fecLimSegFact = fecLimSegFact;
	}


    @Temporal( TemporalType.DATE)
	@Column(name="fec_lim_sube_cont")
	public Date getFecLimSubeCont() {
		return this.fecLimSubeCont;
	}

	public void setFecLimSubeCont(Date fecLimSubeCont) {
		this.fecLimSubeCont = fecLimSubeCont;
	}


    @Temporal( TemporalType.DATE)
	@Column(name="fec_limite_sol_cot")
	public Date getFecLimiteSolCot() {
		return this.fecLimiteSolCot;
	}

	public void setFecLimiteSolCot(Date fecLimiteSolCot) {
		this.fecLimiteSolCot = fecLimiteSolCot;
	}


    @Temporal( TemporalType.DATE)
	@Column(name="fec_regreso")
	public Date getFecRegreso() {
		return this.fecRegreso;
	}

	public void setFecRegreso(Date fecRegreso) {
		this.fecRegreso = fecRegreso;
	}


    @Temporal( TemporalType.DATE)
	@Column(name="fec_salida")
	public Date getFecSalida() {
		return this.fecSalida;
	}

	public void setFecSalida(Date fecSalida) {
		this.fecSalida = fecSalida;
	}


    @Temporal( TemporalType.DATE)
	public Date getFecha() {
		return this.fecha;
	}

	public void setFecha(Date fecha) {
		this.fecha = fecha;
	}


	@Column(name="fecha_alta", nullable=false)
	public Timestamp getFechaAlta() {
		return this.fechaAlta;
	}

	public void setFechaAlta(Timestamp fechaAlta) {
		this.fechaAlta = fechaAlta;
	}


	@Column(name="fechas_confirmadas")
	public int getFechasConfirmadas() {
		return this.fechasConfirmadas;
	}

	public void setFechasConfirmadas(int fechasConfirmadas) {
		this.fechasConfirmadas = fechasConfirmadas;
	}


	@Column(nullable=false, length=255)
	public String getNombre() {
		return this.nombre;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}


	@Column(name="num_dias_viaje")
	public int getNumDiasViaje() {
		return this.numDiasViaje;
	}

	public void setNumDiasViaje(int numDiasViaje) {
		this.numDiasViaje = numDiasViaje;
	}


	@Column(nullable=false)
	public byte getStatus() {
		return this.status;
	}

	public void setStatus(byte status) {
		this.status = status;
	}


	@Column(name="tipo_habitacion", nullable=false)
	public byte getTipoHabitacion() {
		return this.tipoHabitacion;
	}

	public void setTipoHabitacion(byte tipoHabitacion) {
		this.tipoHabitacion = tipoHabitacion;
	}


	@Column(name="tipo_moneda", nullable=false)
	public byte getTipoMoneda() {
		return this.tipoMoneda;
	}

	public void setTipoMoneda(byte tipoMoneda) {
		this.tipoMoneda = tipoMoneda;
	}


	//bi-directional many-to-one association to TblAnio
    @ManyToOne
	@JoinColumn(name="cve_anio")
	public TblAnio getTblAnio() {
		return this.tblAnio;
	}

	public void setTblAnio(TblAnio tblAnio) {
		this.tblAnio = tblAnio;
	}
	

	//bi-directional many-to-one association to TblSubcateg
    @ManyToOne
	@JoinColumn(name="cve_subcateg")
	public TblSubcateg getTblSubcateg() {
		return this.tblSubcateg;
	}

	public void setTblSubcateg(TblSubcateg tblSubcateg) {
		this.tblSubcateg = tblSubcateg;
	}
	

	//bi-directional many-to-one association to TblFlujo
    @ManyToOne
	@JoinColumn(name="cve_flujo_evento")
	public TblFlujo getTblFlujo1() {
		return this.tblFlujo1;
	}

	public void setTblFlujo1(TblFlujo tblFlujo1) {
		this.tblFlujo1 = tblFlujo1;
	}
	

	//bi-directional many-to-one association to TblFlujo
    @ManyToOne
	@JoinColumn(name="cve_flujo_campania")
	public TblFlujo getTblFlujo2() {
		return this.tblFlujo2;
	}

	public void setTblFlujo2(TblFlujo tblFlujo2) {
		this.tblFlujo2 = tblFlujo2;
	}
	

	//bi-directional many-to-one association to TblPaquete
	@OneToMany(mappedBy="tblAsset")
	public List<TblPaquete> getTblPaquetes() {
		return this.tblPaquetes;
	}

	public void setTblPaquetes(List<TblPaquete> tblPaquetes) {
		this.tblPaquetes = tblPaquetes;
	}
        
        //bi-directional many-to-one association to TblPaqueteRegional
	@OneToMany(mappedBy="tblAsset")
	public List<TblPaqueteRegional> getTblPaqueteRegional() {
		return this.tblPaqueteRegional;
	}

	public void setTblPaqueteRegional(List<TblPaqueteRegional> tblPaqueteRegional) {
		this.tblPaqueteRegional = tblPaqueteRegional;
	}	

	//bi-directional many-to-many association to TblPreimplementacion
	@ManyToMany(mappedBy="tblAssets")
	public List<TblPreimplementacion> getTblPreimplementacions() {
		return this.tblPreimplementacions;
	}

	public void setTblPreimplementacions(List<TblPreimplementacion> tblPreimplementacions) {
		this.tblPreimplementacions = tblPreimplementacions;
	}
	

	//bi-directional many-to-one association to TblTareaPreimplementacion
	@OneToMany(mappedBy="tblAsset")
	public List<TblTareaPreimplementacion> getTblTareaPreimplementacions() {
		return this.tblTareaPreimplementacions;
	}

	public void setTblTareaPreimplementacions(List<TblTareaPreimplementacion> tblTareaPreimplementacions) {
		this.tblTareaPreimplementacions = tblTareaPreimplementacions;
	}
        
        //bi-directional many-to-one association to TblMaterialAsset
	@OneToMany(mappedBy="tblAsset")
	public List<TblMaterialAsset> getTblMaterialAsset() {
		return this.tblMaterialAsset;
	}

	public void setTblMaterialAsset(List<TblMaterialAsset> tblMaterialAsset) {
		this.tblMaterialAsset = tblMaterialAsset;
	}
	
}